iOS 12下请求失败 |
您所在的位置:网站首页 › ios 请求 › iOS 12下请求失败 |
由于我们服务端设置了**Access-Control-Allow-Headers : *** ****,导致OPTIONS一直返回空的响应头,无法跨域。 /** * ios 12版本以下, Access-Control-Allow-Headers 为通配符 ’*‘ 引发报错 * 设置 请求头白名单加当前请求请求头,问题解决 */ app.all('*', function (req, res, next) { const headersKeys = Object.keys(req.headers); const whiteHeaders = ["version", "uuid", "platform_version_name", "platform_version_code", "sn", "udid","operator","channel","store_id","Content-Type","Content-Length","Authorization","Accept","X-Requested-With"]; const allowHeaders = _.uniq([...headersKeys, ...whiteHeaders]) res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", `${allowHeaders}`); res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); res.header("Content-Type", "application/json;"); next(); });在IOS12版本下,是浏览器内核触发了cors拦截,但仅仅拦截了非简单跨域请求。如果你的请求是简单请求,那么在IOS12版本下不会出现这个问题。 MDN 简单请求 developer.mozilla.org/zh-CN/docs/… 掘金文章 juejin.cn/post/694651… axios issues github.com/axios/axios… stackoverflow 问答 stackoverflow.com/questions/4… |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |